home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 081 / filefrwd.arc / FILEFRWD.DOC < prev    next >
Encoding:
Text File  |  1987-09-27  |  13.6 KB  |  331 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                       FileFrwd - FidoNet File Forwarding Utility                      FileFrwd - FidoNet File Forwarding Utility
  8.  
  9.                                       Joe Keenan                                      Joe Keenan
  10.                                   Black Cat Software                                   Black Cat Software 
  11.                            Black Cat 100, FidoNet 1:109/661                           Black Cat 100, FidoNet 1:109/661
  12.  
  13.                                      Version 1.00                                     Version 1.00
  14.  
  15.                                     October 1, 1987                                    October 1, 1987
  16.  
  17.  
  18.        BackGround       __________
  19.  
  20.           The  FileFrwd  system  provides  the  capability to forward file attach
  21.        messages, and the associated files, through  the FidoNet  system as normal
  22.        net messages  are done  now.   The FileFrwd system requires that all nodes
  23.        along the path (including the origination  and termination  nodes) process
  24.        messages with  FileFrwd on  a regular basis, and that the control file for
  25.        each node provide the appropriate routing information.
  26.  
  27.           This program was originally designed to fulfill a need here in Net-109.
  28.        We wanted  to be  able to  exchange archived mail files (EchoMail) between
  29.        nodes that were on opposite ends  of the  net.   Our NCR (No-Cost-Routing)
  30.        scheme had  intermediate nodes that would forward mail, but files couldn't
  31.        be forwarded.  This  program was  designed and  developed to  fulfill this
  32.        need.
  33.  
  34.           This  capability  exceeds  anything  currently available using standard
  35.        mailer packages.  oMMM's ARCTO statement comes close, but the intermediate
  36.        systems  must  still  unarc  and  re-arc  the mail bundles. This imposes a
  37.        significant processing penalty in high-throughput systems.
  38.  
  39.           FileFrwd doesn't care about the contents of the files it is forwarding.
  40.        Any (and all) files can be forwarded, including ARCmail, FidoNews, etc.
  41.  
  42.           This package consists of the following files:
  43.  
  44.           FileFrwd.Exe             The program
  45.           FileFrwd.Doc             This documentation
  46.           ReadMe.1st               Special notes, etc.
  47.           FileFrwd.Ctl             Example control file
  48.           FidoFrwd.Bat             Example    batch    file    for    Fido/SEAdog
  49.           OpusFrwd.Bat             Example batch file for Opus
  50.  
  51.           This release also contains:
  52.  
  53.           FixOldFF.Exe             Program to  convert  FileFrwd  0.xx addressing
  54.                                    information to format that FileFrwd 1.xx uses.
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.        Operation       _________
  74.  
  75.           The system  consists of the program itself, FileFrwd.Exe, and a control
  76.        file, FileFrwd.Ctl.   A  substitute  name  for  the  control  file  can be
  77.        provided  at  run  time.    A  sample  control  file  is  included  in the
  78.        distribution package.  See the comments in the file for setup information.
  79.  
  80.           FileFrwd is executed:
  81.  
  82.                FileFrwd [-d] [-e] [-n] [-o] [-f control_file]
  83.  
  84.           Options:
  85.  
  86.           '-d'           Specifies that diagnostic  output  is  to  be generated.
  87.                          This  is   primarily  for   providing  information  when
  88.                          reporting bugs.
  89.  
  90.           '-e'           Specifies that 'exporting' is to be  done on  this pass.
  91.                          This allows  local files  to be forwarded.  If this flag
  92.                          is not specified, FileFrwd will only  process in-transit
  93.                          and arrived files.
  94.  
  95.           '-n'           The 'n' option tells the program to not make any changes
  96.                          (no write), and is intended for use with the '-d' option
  97.                          to see what FileFrwd will try and do.
  98.  
  99.           '-o'           Opus  Outbound  option.    Use  this switch when you are
  100.                          running an OO system so that  FileFrwd knows  to look in
  101.                          your Outbound  directory for things to do.  Don't forget
  102.                          to specify the Outbound directory in your control file.
  103.  
  104.           '-f file'      Allows a control file to be  specified.   If this option
  105.                          is  not  used,  the  default control file 'FileFrwd.Ctl'
  106.                          will be used.
  107.  
  108.  
  109.           FileFrwd should be run  before  AND  after  any  mail  events  in which
  110.        forwarding is  permitted.   An external event to accomplish this should be
  111.        scheduled both before and after  mail  time,  and  between  mail schedules
  112.        within your  net's mail  time.   This applies  mainly to nodes that act as
  113.        HUBS, HOSTS, or GATES in a net's routing setup.  Terminal nodes  will only
  114.        need to run FileFrwd at the start and finish of your mail schedules.
  115.  
  116.           On a Fido/SEAdog system, FileFrwd is run as described above.  Since all
  117.        messages on these systems are unbundled between events,  FileFrwd can work
  118.        on them  in the  netmail directory  directly.  Also, all files have attach
  119.        messages, which simplifies generation of the extended address information
  120.  
  121.           On an Opus Outbound system,  there  are  a  couple  of  "problems" that
  122.        FileFrwd must overcome.  First, it is normal for files to be queued up for
  123.        transmission that don't have attach messages. Archived mail  files fall in
  124.        this  category.    To  handle  these situations, FileFrwd examines the FLO
  125.        files to find files  to forward,  and then  creates attach  messages to go
  126.        with them.   The  attach messages are needed to provide information needed
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.        by FileFrwd at the intermediate and  final  stops.    You  should normally
  140.        never have  to deal  with these  messages directly.   They will be deleted
  141.        automatically at the final destination.
  142.  
  143.           As a result of this method of forwarding  the files,  oMMM must  be run
  144.        TWICE  in   every  schedule  that  you  wish  to  perform  forwarding  on.       TWICE
  145.        Specifically, you run oMMM to create the archive  message files,  then you
  146.        run FileFrwd,  then you  have to  run oMMM  AGAIN to  bundle up the attach
  147.        message that FileFrwd generated.   It  is  quite  possible  that  a future
  148.        version of  FileFrwd will  eliminate this requirement, but don't hold your
  149.        breath.
  150.  
  151.           Starting with this version,  FileFrwd on  a SEAdog/Fido  system can re-
  152.        route files on the fly.  Any qualifying message/files found will be routed
  153.        to the current destination according to the control file then in use.   If
  154.        you  wish  to  change  the  destination  of  files  during  different mail
  155.        schedules,  just  run  FileFrwd  with  a  different  control  file.   This
  156.        capability is  not available  on Opus  Outbound systems, as FileFrwd can't
  157.        get at the attach  message to  change it.   Sorry.   See  previous comment
  158.        about future changes.
  159.  
  160.           Examine  the  example  batch  files  included  in this package for more
  161.        detail on how to implement the system.
  162.  
  163.        Internals       _________
  164.  
  165.           The Attach Message.  If the file originally had an  attach message (for
  166.        instance, one  created by  ARCmail), then FileFrwd will use it.  If it did
  167.        not (as most Opus Outbound files will not), then FileFrwd will create one.
  168.        FileFrwd on  the destination system will delete the message.  The contents
  169.        of the message are not changed,  except for  two things.   First,  an IFNA
  170.        Kludge style line is added to the message.  The format for this line is:
  171.  
  172.           ^AFILEFRWD: <origin node> <destination node> <filename>
  173.  
  174.           where the  original node is the node that first forwarded the file, the
  175.        destination node is where the file is supposed to end up, and  filename is
  176.        the original  name of the file.  Remember, FileFrwd renames the file while
  177.        it is in transit.  This would be a typical address line:
  178.  
  179.           ^AFILEFRWD: 109/661 109/639 006D024F.MO3
  180.  
  181.           The line starts with a control-a  (0x01), and  terminates with  a <cr>,
  182.        according to the established IFNA FTSC conventions.
  183.  
  184.           In-transit File  Names.   The primary  purpose of  FileFrwd is to allow
  185.        more efficient handling of Echo messages  packed into  ARCmail type files.
  186.        Because the  file names generated by ARCmail (and FASTSCAN) are not unique
  187.        (and may cause filename  conflicts on  intermediate nodes),  the files are
  188.        renamed while in-transit. 
  189.  
  190.           The  filename  used  is  of  the  form:  XXYYZZZZ.@FF,  where XX is the
  191.        originating net number, XX is node number, and ZZZZ is  a counter (seconds
  192.        since ???).  All numbers are base 32.
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.           The Control  File.   I will admit that the control file has information
  207.        in it  that  can  be  determined  from  other  sources  on  an operational
  208.        SEAdog/Fido/Opus system.   However,  why bother?   This was much easier to
  209.        program, faster in operation (less files  to deal  with), and  simpler.  I
  210.        hope  that  this  doesn't  cause  problems  down  the road with people not
  211.        setting up the file properly.
  212.  
  213.           Please read the information in the sample control  file very carefully.
  214.        Almost all of the problems encountered in early beta testing was caused by
  215.        the failure to properly configure the system with  the information  in the
  216.        control file.   Especially important is setting up the routing information
  217.        correctly.  Please use your routing control file  as a  guide.   Make sure
  218.        you only route to those systems that you have to send files to, and cannot
  219.        be reached directly.  If you have questions, please send me netmail.
  220.  
  221.        Planned Updates       _______________
  222.  
  223.           There are a number  of updates  and enhancements  planned for FileFrwd.
  224.        The most  interesting one  is what  I call  "pipelining".   In the current
  225.        implementation, duplicate files are sent as  duplicates.   For example, if
  226.        I'm distributing  FidoNews or  NodeDiffs in my net, I might be routing the
  227.        files via a hub.  If there are 5 nodes  on the  other side  of the  hub, I
  228.        would be sending 5 copies of the file (each under a different name).  What
  229.        I plan  to  do  in  the  future  is  to  detect  this  duplication  on the
  230.        originating  node  and  pass  enough  information in the attach message to
  231.        allow the hub node(s) to split copies of the file out as needed.
  232.  
  233.           Another thing I don't  like is  the incredibly  kludgy interaction with
  234.        Opus Outbound  systems.   The only  solution to  this problem  (that I can
  235.        think of) is to include  the  functionality  of  FileFrwd  in  the bundler
  236.        program.   To that  end, if  you are  planning on writing (or modifying) a
  237.        bundling program, please get in touch  with me.   I  will release complete
  238.        specifications (and some source code) to anyone who convinces me that they
  239.        are serious about doing this kind of work.
  240.  
  241.           If you have any suggestions for  this program,  or mites  that you have
  242.        seen, please send me a note.  Thanks.
  243.  
  244.  
  245.        Policy Statement       ________________
  246.  
  247.           FileFrwd is  being released as more-or-less Shareware.  If you're a net
  248.        utility author, treat me as you  would want  to be  treated.   Golden Rule
  249.        time.   On the other hand, if you're not contributing anything to the net,
  250.        I expect something directly. I don't expect every node to  contribute, but
  251.        if your Net is making use of it on a significant basis, I would appreciate
  252.        a small fee for continued development and maintenance.   Something  on the
  253.        order of $50 per Net would be great.  Send contributions to:
  254.  
  255.                     Joe Keenan
  256.                     Black Cat Software
  257.                     5430F Lynx Lane, #306
  258.                     Columbia, MD  21044
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.        Version History       _______________
  272.  
  273.        0.00    5/13/87        First beta release.
  274.        0.01    5/14/87        No-route for Crash Status.
  275.        0.02    5/16/87        Miscellaneous mite fixes.
  276.        0.03    5/24/87        Fixed terminal loop problem while reading messages
  277.        0.05    5/31/87        Reworked Debug output. 
  278.                               Prevented system from attempting to route via the
  279.                               local node.
  280.  
  281.        0.10    6/03/87        First General Release.
  282.        0.11                   Adjusted Crash message handling.
  283.                               Fixed problems with multiple drive systems.
  284.                               Enhanced error reporting/handling.
  285.  
  286.        0.12    6/13/87        Maintenance release.  All bug fixes and
  287.                               improvements since 0.10
  288.  
  289.        0.13a-h                Beta versions of next release.
  290.  
  291.        0.14    7/04/87        Maintenance release.
  292.                               Fixed operation with FastScan's -d option.
  293.                               Fixed multiple drive problems.
  294.                               Greatly simplified debug messages.
  295.  
  296.        0.99a-c                Beta releases for version 1.00
  297.                               Total rewrite to eliminate design problems that
  298.                               prevented use with Opus.
  299.  
  300.        1.00    10/1/87        General Release
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.